1. Field of the Invention
This invention relates to grouping connection paths and more particularly relates to creating a connection path group for lock attention data.
2. Description of the Related Art
A transaction processing system such as an airline reservation system, a credit card transaction processing system, an automatic teller machine system, or the like typically comprises a plurality of host systems or hosts such as mainframe computers, servers, and the like. The hosts access data in a common data storage location. The data store typically includes a plurality of storage devices such as hard disk drives, data caches, and the like. The hosts may access the data in the storage devices through a control unit. For example, a first host may request data from the control unit, and the control unit may retrieve the data from one or more storage devices. The first host may also transmit data to the control unit, and the control unit may write the data to one or more storage devices.
Each host communicates with the control unit through a channel path. Each channel path typically includes one or more physical communication channels such as a digital electronic communication bus, a digital optical communication bus, or a similar communication channel. In addition, each connection path may include one or more logical control blocks, addresses, communication devices, digital switches, and the like for coordinating the transmission of digital messages between the host and the control unit.
Before the first host accesses data through the control unit, the first host typically requests that the data be locked. For example, the first host may request that specified data such as one or more rows in a data table, one or more tracks of a hard disk drive, or the like be locked. If the first host is granted the lock, the first host may access the specified data without a second host being allowed access the specified data. The first host has exclusive access to the specified data until the first host releases the lock. For transactions such as airline reservations, credit card transactions, or similar transactions, a locking function is designed to allow a transaction with a first host to be completed before a second host can access the transaction data.
If the second host requests a lock on the specified data while the first host holds the lock on the specified data, the second host will be not receive the lock and will become a waiter. Instead the second host's lock request will be placed in a lock request queue. The second host may wait to process transactions until receiving the lock. After the first host has released the lock on the data, the control unit grants the next lock request in the lock request queue for the specified data. For example, after the first host releases the lock, the control unit may grant a lock on the specified data to the second host if the second host's request is the next request in the lock request queue. The control unit notifies the second host that the lock has been released by transmitting lock attention data. The lock attention data may take on different forms depending on the status of the lock. The lock attention message may provide information that the lock has been granted or may provide a lock contention message. The lock attention message may provide lock status information. One skilled in the art will recognize other appropriate lock attention data. Upon receipt of the lock attention data granting the lock, the second host may access the specified data.
Current systems provide lock attention data on a single connection path. This attention connection path is the only connection path for transmitting lock attention data unless the attention connection path is unassigned and another connection path is assigned through a reconfigure command. Reconfiguration to switch from one attention connection path to another may be time consuming. With a single connection path between a host and the control unit, if the connection path fails the host will not receive the lock attention data granting the host a lock on the specified data. As a result, the host will not access the specified data and release the lock on the specified data for another host. The host may not receive the lock attention data until the failed connection path is discovered and an alternate connection path is established. Until the alternate connection path is established, the lock request queue may continue to grow as additional hosts or processes within a host request locks on the specified data. Each requesting host or process may be idle while waiting for the lock attention data granting the lock on the specified data, slowing the performance of the transaction processing system. In addition, if the lock request queue grows to a sufficient length, the transaction processing system may require an extreme recovery action such as rebooting the system to allow transaction processing to resume.
Even when a single connection path for attention data is functioning, the single connection path may be a communications bottleneck, slowing the system due to device loading, hardware inefficiencies or errors, or any number of problems or traffic limitations. A single connection path for attention data may not take advantage of other connection paths that are functioning more efficiently or are not busy.
From the foregoing discussion, it should be apparent that a need exists for an apparatus, system, and method for grouping connection paths for lock attention data to allow selection of any of the available connection paths in a group. Beneficially, such an apparatus, system, and method would allow selection of a connection path that is functioning and available rather than relying on a single connection path for attention data that may be slow or may not be functioning.